When working in an electronic document, footnotes (also referred to herein as “notes”) are utilized to mark certain points in the text stream and to provide explanatory information about those points at a later position in the document. Footnotes typically consist of a footnote reference in the main body and footnote text at the bottom of the page corresponding to each reference. In many cases the footnote text is text that is not desirable to place in the main body of the document but which is of some interest to the reader.
It order to improve the readability of a document, it is desirable for footnote references to appear on the same page as their associated footnote text. However, when working with text layout on finite pages, situations arise when footnote references and their associated footnote text are difficult to place on the same page. When laying out footnotes on a page, there are three possible scenarios. In the first scenario, called the “ideal layout,” the footnote reference and all of its footnote text fit on the same page. In the second scenario, the footnote reference and the beginning of its footnote text fit on the same page while the remainder of the footnote text is continued on one or more subsequent pages. Footnotes of this type are called “continued footnotes.” In the third scenario, the footnote reference and all of its footnote text are on different pages. Footnotes of this type are called “separated footnotes.” The first scenario is the most desirable outcome, the second scenario is acceptable, and the third is considered undesirable and should be avoided if possible. In another scenario, a layout may be generated that includes “broken footnotes.” Broken footnotes are footnotes that are formatted in a way that produces an unacceptable layout. For instance, a layout may be generated in which images overlap footnotes, white space may be left on a page where a footnote clearly fits, footnote text may be lost, or footnotes may be laid out in the wrong order. Layouts including broken footnotes are highly undesirable.
Previous document processing applications were capable of laying out footnotes satisfactorily in many simple cases. However, the previous applications had a difficult time providing a satisfactory layout of footnotes in more complex cases. In particular, previous applications often failed to provide a satisfactory layout of footnotes where the document includes images that flow with text and multiple column formatting. In these situations, the previous applications often would generate a layout that included separated or broken footnotes. Improper layout of footnotes in this manner can be extremely frustrating for a user of the application program that expects the footnotes to be laid out properly for them.
It is with respect to these considerations and others that the various embodiments of the present invention have been made.